---
title: ImageRenderer 图片渲染器
icon: Monitor
relatedFile: app/src/core/render/canvas2d/basicRenderer/ImageRenderer.tsx
---

用于渲染图片，基于 View 坐标系。这个服务通过其构造函数接收一个 Project 实例，以便能够访问项目的 canvas 和 camera 属性，从而在 canvas 上进行图像绘制。

## API

### `renderImageElement(source: Exclude<CanvasImageSource, VideoFrame | SVGElement>, location: Vector, scale: number): void`

这个方法用于根据提供的图片源，将其渲染到 canvas 的指定位置。

- `source`: 表示要渲染的图片元素，可以是 HTMLImageElement、HTMLVideoElement、HTMLCanvasElement、ImageBitmap 或 OffscreenCanvas。
- `location`: 一个 Vector 对象，表示图片左上角在 canvas 上的坐标。
- `scale`: 一个数字，用于控制图片的缩放比例。例如，1 表示正常大小，0.5 表示缩小一半，2 表示放大两倍。这个缩放值会与项目相机的当前缩放比例 `this.project.camera.currentScale` 相乘，以确保图片在不同缩放级别下正确显示。
